#ifndef EWOULDBLOCK_H_INCLUDED
#define EWOULDBLOCK_H_INCLUDED

#include <Ape/Exception.h>

namespace Ape {
	namespace MT {
		class EWouldBlock
				: public Exception
		{
			TYPE_NAME ("Ape::MT::EWouldBlock")
			CLONEABLE (EWouldBlock)
		public:
			/**
				initialize with empty message
			*/
			EWouldBlock();
			/**
				initialize with message
				@param msg message
			*/
			EWouldBlock (const wchar_t* msg);
			/**
				copy ctor
				@param other original object
			*/
			EWouldBlock (const EWouldBlock& other);
			/**
				dtor
			*/
			virtual ~EWouldBlock();
			
			virtual void _Dump (bool verbose = false) const;
		};
	}
}

#endif // EWOULDBLOCK_H_INCLUDED
